Use gdk_draw_pixbuf.
authorAnders Carlsson <andersca@gnome.org>
Sun, 24 Aug 2003 17:28:23 +0000 (17:28 +0000)
committerAnders Carlsson <andersca@src.gnome.org>
Sun, 24 Aug 2003 17:28:23 +0000 (17:28 +0000)
2003-08-24  Anders Carlsson  <andersca@gnome.org>

* libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item),
(egg_icon_list_paint_rubberband):
Use gdk_draw_pixbuf.

(egg_icon_list_item_unref):
Call destroy_notify on the list item. Reported by Edd Dumbill.

gtk/gtkiconview.c

index 89fc172a4a51d47ad894e88d41210a38e5e006a3..8aaae6159040c57abd7e4f699a3558a15b4d2b02 100644 (file)
@@ -1641,19 +1641,13 @@ egg_icon_list_paint_item (EggIconList     *icon_list,
                                      &GTK_WIDGET (icon_list)->style->base[state]);
   else
     pixbuf = g_object_ref (item->icon);
-       
-  gdk_pixbuf_render_to_drawable_alpha (pixbuf,
-                                      icon_list->priv->bin_window,
-                                      0, 0,
-                                      item->pixbuf_x,
-                                      item->pixbuf_y,
-                                      item->pixbuf_width,
-                                      item->pixbuf_height,
-                                      GDK_PIXBUF_ALPHA_FULL,
-                                      0,
-                                      GDK_RGB_DITHER_NORMAL,
-                                      item->pixbuf_width,
-                                      item->pixbuf_height);
+
+  gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf,
+                  0, 0,
+                  item->pixbuf_x, item->pixbuf_y,
+                  item->pixbuf_width, item->pixbuf_height,
+                  GDK_RGB_DITHER_NORMAL,
+                  item->pixbuf_width, item->pixbuf_height);
   g_object_unref (pixbuf);
 
   if (item->selected)
@@ -1732,15 +1726,12 @@ egg_icon_list_paint_rubberband (EggIconList     *icon_list,
   pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height);
   gdk_pixbuf_fill (pixbuf, fill_color);
 
-  gdk_pixbuf_render_to_drawable_alpha (pixbuf,
-                                      icon_list->priv->bin_window,
-                                      0, 0,
-                                      rect.x,rect.y,
-                                      rect.width, rect.height,
-                                      GDK_PIXBUF_ALPHA_FULL,
-                                      0,
-                                      GDK_RGB_DITHER_NONE,
-                                      0, 0);
+  gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf,
+                  0, 0, 
+                  rect.x,rect.y,
+                  rect.width, rect.height,
+                  GDK_RGB_DITHER_NONE,
+                  0, 0);
   g_object_unref (pixbuf);
   gc = gdk_gc_new (icon_list->priv->bin_window);
   gdk_gc_set_rgb_fg_color (gc, fill_color_gdk);
@@ -1877,6 +1868,9 @@ egg_icon_list_item_unref (EggIconListItem *item)
 
   if (item->ref_count == 0)
     {
+      if (item->destroy_notify)
+       item->destroy_notify (item->user_data);
+       
       g_free (item->label);
       g_object_unref (item->icon);
       g_free (item);